I find it depends on the driver. For an Atheros 10K chip, such as
wlan104 phy0 ath10k_pci Qualcomm Atheros QCA986x/988x 802.11ac Wireless Network Adapter
The driver passes up an A-MPDU field with a reference number and flags field indicating the last frame:
Radiotap Header v0, Length 64
Header revision: 0
Header pad: 0
Header length: 64
Present flags
Flags: 0x10
Channel frequency: 5745 [A 149]
Channel flags: 0x0140, Orthogonal Frequency-Division Multiplexing (OFDM), 5 GHz spectrum
SSI Signal: -43dBm
RX flags: 0x0000
A-MPDU status
A-MPDU reference number: 23981896 <-----------A-MPDU field
A-MPDU flags: 0x0000
VHT information
.... .... .... 1... = This is the last subframe of this A-MPDU: True
So a screen shot of this in action: C:\fakepath\Atheros.png
Notice the same reference number, datarate, signal, etc.
As well, an Intel 8265 passes up a reference number: C:\fakepath\Screen Shot 2018-03-03 at 7.59.39 AM.png
Notice here the block ack is not present, so the three frames are sent again. The flag for last frame does not appear to be in use here; it is present, but always 0.
Finally, my Macbook has trouble with this. It does not pass up the reference number in a meaningful way. However, notice the lack of signal strength until the last frame: there are clues as to the collection of frames in use per A-MPDU.
C:\fakepath\macbook.png
The Mac has issues with larger size A-MSDUs as well, but that is for another time.